package campus.model;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class FinancialExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public FinancialExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andCwIdIsNull() {
            addCriterion("cw_id is null");
            return (Criteria) this;
        }

        public Criteria andCwIdIsNotNull() {
            addCriterion("cw_id is not null");
            return (Criteria) this;
        }

        public Criteria andCwIdEqualTo(Integer value) {
            addCriterion("cw_id =", value, "cwId");
            return (Criteria) this;
        }

        public Criteria andCwIdNotEqualTo(Integer value) {
            addCriterion("cw_id <>", value, "cwId");
            return (Criteria) this;
        }

        public Criteria andCwIdGreaterThan(Integer value) {
            addCriterion("cw_id >", value, "cwId");
            return (Criteria) this;
        }

        public Criteria andCwIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("cw_id >=", value, "cwId");
            return (Criteria) this;
        }

        public Criteria andCwIdLessThan(Integer value) {
            addCriterion("cw_id <", value, "cwId");
            return (Criteria) this;
        }

        public Criteria andCwIdLessThanOrEqualTo(Integer value) {
            addCriterion("cw_id <=", value, "cwId");
            return (Criteria) this;
        }

        public Criteria andCwIdIn(List<Integer> values) {
            addCriterion("cw_id in", values, "cwId");
            return (Criteria) this;
        }

        public Criteria andCwIdNotIn(List<Integer> values) {
            addCriterion("cw_id not in", values, "cwId");
            return (Criteria) this;
        }

        public Criteria andCwIdBetween(Integer value1, Integer value2) {
            addCriterion("cw_id between", value1, value2, "cwId");
            return (Criteria) this;
        }

        public Criteria andCwIdNotBetween(Integer value1, Integer value2) {
            addCriterion("cw_id not between", value1, value2, "cwId");
            return (Criteria) this;
        }

        public Criteria andCwProjectIsNull() {
            addCriterion("cw_project is null");
            return (Criteria) this;
        }

        public Criteria andCwProjectIsNotNull() {
            addCriterion("cw_project is not null");
            return (Criteria) this;
        }

        public Criteria andCwProjectEqualTo(String value) {
            addCriterion("cw_project =", value, "cwProject");
            return (Criteria) this;
        }

        public Criteria andCwProjectNotEqualTo(String value) {
            addCriterion("cw_project <>", value, "cwProject");
            return (Criteria) this;
        }

        public Criteria andCwProjectGreaterThan(String value) {
            addCriterion("cw_project >", value, "cwProject");
            return (Criteria) this;
        }

        public Criteria andCwProjectGreaterThanOrEqualTo(String value) {
            addCriterion("cw_project >=", value, "cwProject");
            return (Criteria) this;
        }

        public Criteria andCwProjectLessThan(String value) {
            addCriterion("cw_project <", value, "cwProject");
            return (Criteria) this;
        }

        public Criteria andCwProjectLessThanOrEqualTo(String value) {
            addCriterion("cw_project <=", value, "cwProject");
            return (Criteria) this;
        }

        public Criteria andCwProjectLike(String value) {
            addCriterion("cw_project like", value, "cwProject");
            return (Criteria) this;
        }

        public Criteria andCwProjectNotLike(String value) {
            addCriterion("cw_project not like", value, "cwProject");
            return (Criteria) this;
        }

        public Criteria andCwProjectIn(List<String> values) {
            addCriterion("cw_project in", values, "cwProject");
            return (Criteria) this;
        }

        public Criteria andCwProjectNotIn(List<String> values) {
            addCriterion("cw_project not in", values, "cwProject");
            return (Criteria) this;
        }

        public Criteria andCwProjectBetween(String value1, String value2) {
            addCriterion("cw_project between", value1, value2, "cwProject");
            return (Criteria) this;
        }

        public Criteria andCwProjectNotBetween(String value1, String value2) {
            addCriterion("cw_project not between", value1, value2, "cwProject");
            return (Criteria) this;
        }

        public Criteria andCwLineIsNull() {
            addCriterion("cw_line is null");
            return (Criteria) this;
        }

        public Criteria andCwLineIsNotNull() {
            addCriterion("cw_line is not null");
            return (Criteria) this;
        }

        public Criteria andCwLineEqualTo(String value) {
            addCriterion("cw_line =", value, "cwLine");
            return (Criteria) this;
        }

        public Criteria andCwLineNotEqualTo(String value) {
            addCriterion("cw_line <>", value, "cwLine");
            return (Criteria) this;
        }

        public Criteria andCwLineGreaterThan(String value) {
            addCriterion("cw_line >", value, "cwLine");
            return (Criteria) this;
        }

        public Criteria andCwLineGreaterThanOrEqualTo(String value) {
            addCriterion("cw_line >=", value, "cwLine");
            return (Criteria) this;
        }

        public Criteria andCwLineLessThan(String value) {
            addCriterion("cw_line <", value, "cwLine");
            return (Criteria) this;
        }

        public Criteria andCwLineLessThanOrEqualTo(String value) {
            addCriterion("cw_line <=", value, "cwLine");
            return (Criteria) this;
        }

        public Criteria andCwLineLike(String value) {
            addCriterion("cw_line like", value, "cwLine");
            return (Criteria) this;
        }

        public Criteria andCwLineNotLike(String value) {
            addCriterion("cw_line not like", value, "cwLine");
            return (Criteria) this;
        }

        public Criteria andCwLineIn(List<String> values) {
            addCriterion("cw_line in", values, "cwLine");
            return (Criteria) this;
        }

        public Criteria andCwLineNotIn(List<String> values) {
            addCriterion("cw_line not in", values, "cwLine");
            return (Criteria) this;
        }

        public Criteria andCwLineBetween(String value1, String value2) {
            addCriterion("cw_line between", value1, value2, "cwLine");
            return (Criteria) this;
        }

        public Criteria andCwLineNotBetween(String value1, String value2) {
            addCriterion("cw_line not between", value1, value2, "cwLine");
            return (Criteria) this;
        }

        public Criteria andCwAggregateAmountIsNull() {
            addCriterion("cw_aggregate_amount is null");
            return (Criteria) this;
        }

        public Criteria andCwAggregateAmountIsNotNull() {
            addCriterion("cw_aggregate_amount is not null");
            return (Criteria) this;
        }

        public Criteria andCwAggregateAmountEqualTo(String value) {
            addCriterion("cw_aggregate_amount =", value, "cwAggregateAmount");
            return (Criteria) this;
        }

        public Criteria andCwAggregateAmountNotEqualTo(String value) {
            addCriterion("cw_aggregate_amount <>", value, "cwAggregateAmount");
            return (Criteria) this;
        }

        public Criteria andCwAggregateAmountGreaterThan(String value) {
            addCriterion("cw_aggregate_amount >", value, "cwAggregateAmount");
            return (Criteria) this;
        }

        public Criteria andCwAggregateAmountGreaterThanOrEqualTo(String value) {
            addCriterion("cw_aggregate_amount >=", value, "cwAggregateAmount");
            return (Criteria) this;
        }

        public Criteria andCwAggregateAmountLessThan(String value) {
            addCriterion("cw_aggregate_amount <", value, "cwAggregateAmount");
            return (Criteria) this;
        }

        public Criteria andCwAggregateAmountLessThanOrEqualTo(String value) {
            addCriterion("cw_aggregate_amount <=", value, "cwAggregateAmount");
            return (Criteria) this;
        }

        public Criteria andCwAggregateAmountLike(String value) {
            addCriterion("cw_aggregate_amount like", value, "cwAggregateAmount");
            return (Criteria) this;
        }

        public Criteria andCwAggregateAmountNotLike(String value) {
            addCriterion("cw_aggregate_amount not like", value, "cwAggregateAmount");
            return (Criteria) this;
        }

        public Criteria andCwAggregateAmountIn(List<String> values) {
            addCriterion("cw_aggregate_amount in", values, "cwAggregateAmount");
            return (Criteria) this;
        }

        public Criteria andCwAggregateAmountNotIn(List<String> values) {
            addCriterion("cw_aggregate_amount not in", values, "cwAggregateAmount");
            return (Criteria) this;
        }

        public Criteria andCwAggregateAmountBetween(String value1, String value2) {
            addCriterion("cw_aggregate_amount between", value1, value2, "cwAggregateAmount");
            return (Criteria) this;
        }

        public Criteria andCwAggregateAmountNotBetween(String value1, String value2) {
            addCriterion("cw_aggregate_amount not between", value1, value2, "cwAggregateAmount");
            return (Criteria) this;
        }

        public Criteria andCwAggregateChangeIsNull() {
            addCriterion("cw_aggregate_change is null");
            return (Criteria) this;
        }

        public Criteria andCwAggregateChangeIsNotNull() {
            addCriterion("cw_aggregate_change is not null");
            return (Criteria) this;
        }

        public Criteria andCwAggregateChangeEqualTo(String value) {
            addCriterion("cw_aggregate_change =", value, "cwAggregateChange");
            return (Criteria) this;
        }

        public Criteria andCwAggregateChangeNotEqualTo(String value) {
            addCriterion("cw_aggregate_change <>", value, "cwAggregateChange");
            return (Criteria) this;
        }

        public Criteria andCwAggregateChangeGreaterThan(String value) {
            addCriterion("cw_aggregate_change >", value, "cwAggregateChange");
            return (Criteria) this;
        }

        public Criteria andCwAggregateChangeGreaterThanOrEqualTo(String value) {
            addCriterion("cw_aggregate_change >=", value, "cwAggregateChange");
            return (Criteria) this;
        }

        public Criteria andCwAggregateChangeLessThan(String value) {
            addCriterion("cw_aggregate_change <", value, "cwAggregateChange");
            return (Criteria) this;
        }

        public Criteria andCwAggregateChangeLessThanOrEqualTo(String value) {
            addCriterion("cw_aggregate_change <=", value, "cwAggregateChange");
            return (Criteria) this;
        }

        public Criteria andCwAggregateChangeLike(String value) {
            addCriterion("cw_aggregate_change like", value, "cwAggregateChange");
            return (Criteria) this;
        }

        public Criteria andCwAggregateChangeNotLike(String value) {
            addCriterion("cw_aggregate_change not like", value, "cwAggregateChange");
            return (Criteria) this;
        }

        public Criteria andCwAggregateChangeIn(List<String> values) {
            addCriterion("cw_aggregate_change in", values, "cwAggregateChange");
            return (Criteria) this;
        }

        public Criteria andCwAggregateChangeNotIn(List<String> values) {
            addCriterion("cw_aggregate_change not in", values, "cwAggregateChange");
            return (Criteria) this;
        }

        public Criteria andCwAggregateChangeBetween(String value1, String value2) {
            addCriterion("cw_aggregate_change between", value1, value2, "cwAggregateChange");
            return (Criteria) this;
        }

        public Criteria andCwAggregateChangeNotBetween(String value1, String value2) {
            addCriterion("cw_aggregate_change not between", value1, value2, "cwAggregateChange");
            return (Criteria) this;
        }

        public Criteria andCwIssueAmountIsNull() {
            addCriterion("cw_issue_amount is null");
            return (Criteria) this;
        }

        public Criteria andCwIssueAmountIsNotNull() {
            addCriterion("cw_issue_amount is not null");
            return (Criteria) this;
        }

        public Criteria andCwIssueAmountEqualTo(String value) {
            addCriterion("cw_issue_amount =", value, "cwIssueAmount");
            return (Criteria) this;
        }

        public Criteria andCwIssueAmountNotEqualTo(String value) {
            addCriterion("cw_issue_amount <>", value, "cwIssueAmount");
            return (Criteria) this;
        }

        public Criteria andCwIssueAmountGreaterThan(String value) {
            addCriterion("cw_issue_amount >", value, "cwIssueAmount");
            return (Criteria) this;
        }

        public Criteria andCwIssueAmountGreaterThanOrEqualTo(String value) {
            addCriterion("cw_issue_amount >=", value, "cwIssueAmount");
            return (Criteria) this;
        }

        public Criteria andCwIssueAmountLessThan(String value) {
            addCriterion("cw_issue_amount <", value, "cwIssueAmount");
            return (Criteria) this;
        }

        public Criteria andCwIssueAmountLessThanOrEqualTo(String value) {
            addCriterion("cw_issue_amount <=", value, "cwIssueAmount");
            return (Criteria) this;
        }

        public Criteria andCwIssueAmountLike(String value) {
            addCriterion("cw_issue_amount like", value, "cwIssueAmount");
            return (Criteria) this;
        }

        public Criteria andCwIssueAmountNotLike(String value) {
            addCriterion("cw_issue_amount not like", value, "cwIssueAmount");
            return (Criteria) this;
        }

        public Criteria andCwIssueAmountIn(List<String> values) {
            addCriterion("cw_issue_amount in", values, "cwIssueAmount");
            return (Criteria) this;
        }

        public Criteria andCwIssueAmountNotIn(List<String> values) {
            addCriterion("cw_issue_amount not in", values, "cwIssueAmount");
            return (Criteria) this;
        }

        public Criteria andCwIssueAmountBetween(String value1, String value2) {
            addCriterion("cw_issue_amount between", value1, value2, "cwIssueAmount");
            return (Criteria) this;
        }

        public Criteria andCwIssueAmountNotBetween(String value1, String value2) {
            addCriterion("cw_issue_amount not between", value1, value2, "cwIssueAmount");
            return (Criteria) this;
        }

        public Criteria andCwIssueChangeIsNull() {
            addCriterion("cw_issue_change is null");
            return (Criteria) this;
        }

        public Criteria andCwIssueChangeIsNotNull() {
            addCriterion("cw_issue_change is not null");
            return (Criteria) this;
        }

        public Criteria andCwIssueChangeEqualTo(String value) {
            addCriterion("cw_issue_change =", value, "cwIssueChange");
            return (Criteria) this;
        }

        public Criteria andCwIssueChangeNotEqualTo(String value) {
            addCriterion("cw_issue_change <>", value, "cwIssueChange");
            return (Criteria) this;
        }

        public Criteria andCwIssueChangeGreaterThan(String value) {
            addCriterion("cw_issue_change >", value, "cwIssueChange");
            return (Criteria) this;
        }

        public Criteria andCwIssueChangeGreaterThanOrEqualTo(String value) {
            addCriterion("cw_issue_change >=", value, "cwIssueChange");
            return (Criteria) this;
        }

        public Criteria andCwIssueChangeLessThan(String value) {
            addCriterion("cw_issue_change <", value, "cwIssueChange");
            return (Criteria) this;
        }

        public Criteria andCwIssueChangeLessThanOrEqualTo(String value) {
            addCriterion("cw_issue_change <=", value, "cwIssueChange");
            return (Criteria) this;
        }

        public Criteria andCwIssueChangeLike(String value) {
            addCriterion("cw_issue_change like", value, "cwIssueChange");
            return (Criteria) this;
        }

        public Criteria andCwIssueChangeNotLike(String value) {
            addCriterion("cw_issue_change not like", value, "cwIssueChange");
            return (Criteria) this;
        }

        public Criteria andCwIssueChangeIn(List<String> values) {
            addCriterion("cw_issue_change in", values, "cwIssueChange");
            return (Criteria) this;
        }

        public Criteria andCwIssueChangeNotIn(List<String> values) {
            addCriterion("cw_issue_change not in", values, "cwIssueChange");
            return (Criteria) this;
        }

        public Criteria andCwIssueChangeBetween(String value1, String value2) {
            addCriterion("cw_issue_change between", value1, value2, "cwIssueChange");
            return (Criteria) this;
        }

        public Criteria andCwIssueChangeNotBetween(String value1, String value2) {
            addCriterion("cw_issue_change not between", value1, value2, "cwIssueChange");
            return (Criteria) this;
        }

        public Criteria andCwIssueMonthChangeIsNull() {
            addCriterion("cw_issue_month_change is null");
            return (Criteria) this;
        }

        public Criteria andCwIssueMonthChangeIsNotNull() {
            addCriterion("cw_issue_month_change is not null");
            return (Criteria) this;
        }

        public Criteria andCwIssueMonthChangeEqualTo(String value) {
            addCriterion("cw_issue_month_change =", value, "cwIssueMonthChange");
            return (Criteria) this;
        }

        public Criteria andCwIssueMonthChangeNotEqualTo(String value) {
            addCriterion("cw_issue_month_change <>", value, "cwIssueMonthChange");
            return (Criteria) this;
        }

        public Criteria andCwIssueMonthChangeGreaterThan(String value) {
            addCriterion("cw_issue_month_change >", value, "cwIssueMonthChange");
            return (Criteria) this;
        }

        public Criteria andCwIssueMonthChangeGreaterThanOrEqualTo(String value) {
            addCriterion("cw_issue_month_change >=", value, "cwIssueMonthChange");
            return (Criteria) this;
        }

        public Criteria andCwIssueMonthChangeLessThan(String value) {
            addCriterion("cw_issue_month_change <", value, "cwIssueMonthChange");
            return (Criteria) this;
        }

        public Criteria andCwIssueMonthChangeLessThanOrEqualTo(String value) {
            addCriterion("cw_issue_month_change <=", value, "cwIssueMonthChange");
            return (Criteria) this;
        }

        public Criteria andCwIssueMonthChangeLike(String value) {
            addCriterion("cw_issue_month_change like", value, "cwIssueMonthChange");
            return (Criteria) this;
        }

        public Criteria andCwIssueMonthChangeNotLike(String value) {
            addCriterion("cw_issue_month_change not like", value, "cwIssueMonthChange");
            return (Criteria) this;
        }

        public Criteria andCwIssueMonthChangeIn(List<String> values) {
            addCriterion("cw_issue_month_change in", values, "cwIssueMonthChange");
            return (Criteria) this;
        }

        public Criteria andCwIssueMonthChangeNotIn(List<String> values) {
            addCriterion("cw_issue_month_change not in", values, "cwIssueMonthChange");
            return (Criteria) this;
        }

        public Criteria andCwIssueMonthChangeBetween(String value1, String value2) {
            addCriterion("cw_issue_month_change between", value1, value2, "cwIssueMonthChange");
            return (Criteria) this;
        }

        public Criteria andCwIssueMonthChangeNotBetween(String value1, String value2) {
            addCriterion("cw_issue_month_change not between", value1, value2, "cwIssueMonthChange");
            return (Criteria) this;
        }

        public Criteria andCwCdateIsNull() {
            addCriterion("cw_cdate is null");
            return (Criteria) this;
        }

        public Criteria andCwCdateIsNotNull() {
            addCriterion("cw_cdate is not null");
            return (Criteria) this;
        }

        public Criteria andCwCdateEqualTo(Date value) {
            addCriterion("cw_cdate =", value, "cwCdate");
            return (Criteria) this;
        }

        public Criteria andCwCdateNotEqualTo(Date value) {
            addCriterion("cw_cdate <>", value, "cwCdate");
            return (Criteria) this;
        }

        public Criteria andCwCdateGreaterThan(Date value) {
            addCriterion("cw_cdate >", value, "cwCdate");
            return (Criteria) this;
        }

        public Criteria andCwCdateGreaterThanOrEqualTo(Date value) {
            addCriterion("cw_cdate >=", value, "cwCdate");
            return (Criteria) this;
        }

        public Criteria andCwCdateLessThan(Date value) {
            addCriterion("cw_cdate <", value, "cwCdate");
            return (Criteria) this;
        }

        public Criteria andCwCdateLessThanOrEqualTo(Date value) {
            addCriterion("cw_cdate <=", value, "cwCdate");
            return (Criteria) this;
        }

        public Criteria andCwCdateIn(List<Date> values) {
            addCriterion("cw_cdate in", values, "cwCdate");
            return (Criteria) this;
        }

        public Criteria andCwCdateNotIn(List<Date> values) {
            addCriterion("cw_cdate not in", values, "cwCdate");
            return (Criteria) this;
        }

        public Criteria andCwCdateBetween(Date value1, Date value2) {
            addCriterion("cw_cdate between", value1, value2, "cwCdate");
            return (Criteria) this;
        }

        public Criteria andCwCdateNotBetween(Date value1, Date value2) {
            addCriterion("cw_cdate not between", value1, value2, "cwCdate");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}